home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / ReadMessageInfo.zprx < prev    next >
Text File  |  1995-07-20  |  5KB  |  203 lines

  1. /*
  2.     $VER: ReadMessageInfo.zprx 1.5 (17.07.95) Copyright (c) Nils Görs
  3.     Idee von Andreas Leicht
  4.  
  5.  
  6.    Funktionsbeschreibung:
  7.  
  8.     Dies  ist  ein ARexx-Skript für Zodiac's Point, daß beim lesen von
  9.     markierten   Nachrichten,   etwas   mehr   Informationen   bietet.
  10.     Desweiteren   bietet  es  die  Möglichkeit,  Nachrichten  auch  in
  11.     thematischer Reihenfolge zu lesen.
  12.  
  13.  
  14.  
  15.     Hinweise zur Installation:
  16.  
  17.     Kopieren sie dieses Skript in  das  Rexx-Verzeichnis  von  ZP  und
  18.     fügen  sie  danach  der  Datei  'fkeys.zp'  auf Wunsch den Eintrag
  19.     "F1:SYS:Rexxc/RX ZPOINT:Rexx/ReadMessageInfo.zprx %s" hinzu.
  20.  
  21.  
  22.     Sie erreichen den Autor wie folgt:
  23.  
  24.        Nils Görs              Tel. : +49 (0)202 784258
  25.        Kaiserstr. 97a         EMail: N.Goers@Art-Line.Art-Line.de
  26.        42329 Wuppertal          oder über das ZP-Support-Brett.
  27.  
  28.    Verwenden Sie bitte nach Möglichkeit elektronische Post!
  29. */
  30.  
  31. /* Sollen die Nachrichten thematisch gelesen werden ??
  32.    0 = Nein
  33.    1 = Ja
  34.    2 = Requester ! */
  35. ReadThema = 2
  36.  
  37. /* Sonderzeichen werden nach ? gewandelt */
  38. OldChar = "()*"
  39. NewChar = "???"
  40. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  41.  *      Bitte geben Sie hier ihre Präferenzen ein !                *
  42.  *******************************************************************/
  43.  
  44. /*******************************************************************
  45.  *      Bitte unterhalb dieser Zeile nichts mehr verändern!        *
  46.  *******************************************************************/
  47. NL = '0a'x
  48. OPTIONS RESULTS
  49.  
  50. NL = '0a'x
  51. text  = "wurde wurden"
  52. text2 = "Nachricht Nachrichten"
  53. text3 = "verbleibt verbleiben"
  54.  
  55. /* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
  56. PARSE ARG zpPort
  57. IF zpPort == "" THEN
  58.    zpPort = "ZPoint"
  59. ADDRESS VALUE zpPort
  60.  
  61. /* ------------- Dieses Skript läuft erst ab V37.194 ------------- */
  62. WHICHVERSION
  63. IF RESULT < "37.194" THEN DO
  64.  REQUESTNOTIFY "Dieses Skript benötigt mind. Zodiac's Point 37.194 (28.6.95)"
  65.  EXIT
  66. END
  67.  
  68. WHICHLEVEL
  69. IF RESULT ~= "BOARD" THEN DO
  70.    REQUESTNOTIFY "Bitte begeben Sie sich in ein Brett!"
  71.    EXIT
  72. END
  73.  
  74. MESSAGEINFO POSITION /* Wo steht der Markierungsbalken? */
  75. MailPos = Result
  76.  
  77.  
  78. COUNT LISTED
  79. HowManyMess = RESULT
  80.  
  81. IF HowManyMess == 0 THEN DO
  82.  REQUESTNOTIFY "Es wurden keine markierten"NL,
  83.                "Nachrichten gefunden!"; EXIT
  84. END
  85. HowManyLeft = HowManyMess
  86.  
  87. IF ReadThema == 2 THEN DO
  88.    REQUESTRESPONSE "Sollen die Nachrichten"NL,
  89.                    "thematisch gelesen werden?"
  90.    ReadThema = (RC)
  91. END
  92.  
  93. MessRead = 0
  94.    IF ReadThema == 1 THEN CALL _ThematischesLesen
  95.  
  96. JUMPTOMESSAGE 1                /* An die erste Nachricht springen! */
  97.  MESSAGEINFO LISTED            /* ist diese erste Nachricht markiert? */
  98.  IF Result == 1 THEN CALL _ReadMessage
  99.  
  100. GUILOCK ON
  101.  
  102. /* Nachrichten werden hier gelsesen und die Informationen ausgegeben */
  103. more = 1
  104.  
  105. DO WHILE more
  106.   JUMPTOMESSAGE LISTED
  107.   more = (RC)
  108.  IF more == 1 THEN CALL _ReadMessage
  109. END
  110.  
  111. _ReadMessage:
  112.  CALL _Inform
  113. RETURN
  114.  
  115. /* hier werden die Nachrichten nach Thema gelesen ! */
  116.  
  117. _ThematischesLesen:
  118. JUMPTOMESSAGE 1                /* An die erste Nachricht springen! */
  119.  CALL _GetSubject
  120.  MESSAGEINFO LISTED            /* ist diese erste Nachricht markiert? */
  121.  IF RESULT == 1 THEN CALL _ReadMessage2
  122.  
  123.  JUMPTOMESSAGE LISTED            
  124.  IF (RC) == 1 THEN DO
  125.    CALL _GetSubject
  126.    CALL _ReadMessage2
  127.  END
  128.  
  129. _ReadMessage2:
  130. more = 1
  131. DO WHILE more
  132.  MESSAGEINFO LISTED
  133.          IF RESULT = 1 THEN DO
  134.             CALL _Inform
  135.             SELECTMESSAGE
  136.          END
  137.   DOWN                    /* eine Nachricht nach unten */
  138.   IF (RC) == 0 THEN CALL _Test
  139.   CALL _ReadThread            /* gibt es einen Thread ?? */
  140.  JUMPTOMESSAGE SUBJECT Betreff        /* zum nächsten Betreffmuster springen */
  141.  more = (RC)
  142. END
  143. _Test:
  144.   IF Messread == HowManyMess THEN CALL Quit /* sind alle Nachrichten gelesen? */
  145.   CALL _thematischesLesen
  146.  
  147. _ReadThread:
  148.   MESSAGEINFO DEPTH
  149.    IF RESULT >0 THEN DO
  150.     d = 1
  151.     DO WHILE d > 0
  152.         MESSAGEINFO LISTED        /* ist die Nachricht markiert ?? */
  153.          IF RESULT = 1 THEN DO
  154.             CALL _Inform
  155.             SELECTMESSAGE
  156.          END
  157.         DOWN                /* noch eine Nachricht nach unten! */
  158.         IF (RC) = 1 THEN DO
  159.             MESSAGEINFO DEPTH
  160.             d = RESULT
  161.         END
  162.         ELSE
  163.             d = 0
  164.     END
  165.    END
  166. RETURN
  167.  
  168. _GetSubject:
  169.  MESSAGEINFO SUBJECT               /* wie lautet der Betreff der ersten */
  170.  Betreff=TRANSLATE(RESULT,NewChar,OldChar) /* markierten Nachricht? */
  171.  Betreff = '"#?'Betreff'"'
  172. RETURN
  173.  
  174.  
  175. /* hier sind globale Routinen */
  176. _Inform:
  177.   READMESSAGE
  178.   MARKASOLD ONE
  179.   HowManyLeft = HowManyLeft-1
  180.   Messread = Messread + 1
  181.      K=1
  182.      IF Messread > 1 THEN k=2
  183.      textpointer1 = WORD(Text,k); textpointer2 = WORD(Text2,k)
  184.      K2=1
  185.      IF HowManyLeft > 1 THEN k2=2
  186.      textpointer3 = WORD(Text3,k2); textpointer4 = WORD(Text2,k2)
  187.   IF Messread == HowManyMess THEN CALL Quit /* sind alle Nachrichten gelesen? */
  188.  
  189.  REQUESTRESPONSE "Es" textpointer1 "bisher" Messread textpointer2 "gelesen!"NL,
  190.                  "Es" textpointer3 "noch" HowManyLeft textpointer4"."NL,
  191.                  "Weitere" textpointer4 "lesen?"
  192.     IF (RC) == 0 THEN CALL Quit
  193. GUILOCK ON
  194. RETURN
  195.  
  196. Quit:
  197. TextPointer2 = WORD(Text2,2)
  198. IF HowManyMess < 2 THEN Textpointer2 = WORD(text2,1)
  199. REQUESTNOTIFY "Es" textpointer1 "insgesamt" Messread "von" HowManyMess textpointer2 "gelesen!"
  200. JUMPTOMESSAGE MailPos
  201. EXIT
  202. /* EOS */
  203.